给学生 debug
原文:Debugging the student — LessWrong
作者:Adam Zerner
2020 年 12 月 16 日
让我来为你解释微分方程是什么。假设我们有这样一个等式:
f''(x) + 2 * f'(x) = 3 * f(x)
这个等式的含义是:函数 f(x) 的二阶导数加上两倍的一阶导数,等于三倍的 f(x) 本身。
到这里你能跟上吗?不能?那么是什么地方让你感到困惑呢?
-
要理解微分方程,你需要先掌握二阶导数的概念。
-
要理解二阶导数,你需要先掌握一阶导数的概念。
-
要理解一阶导数,你需要先掌握极限的概念。
-
要理解极限,你需要先掌握函数的概念。
-
要理解函数,你需要先掌握代数知识。
-
要理解代数,你需要先理解基本的算术。
换句话说,这些知识之间存在着层层递进的依赖关系。这就像大学课程中的先修要求一样。你必须先完成《基础生物学》,然后才能进入《高级生物学》的课程。
不过,「生物学」并不是一个独立的概念。在这里,我想强调的是,即使在更为细微的单个概念层面上,也存在着类似大学课程那样的依赖关系。
这种关系可以用下图来直观地展示:
真酷。让我们再回到微分方程的例子。在那个例子中,我直接开始向你解释微分方程,却没有先确认你是否理解二阶导数。更不用说一阶导数、极限、函数、代数运算,甚至基本的算术知识了。
我这样做合理吗?嗯,这要看具体情况。如果是在大学的微分方程课堂上,我清楚学生们都已经学过微积分,具备理解微分方程的基础知识。
但如果我是在跟街上的路人交谈呢?假设他们懂得二阶导数合理吗?显然不合理。那一阶导数呢?也不行。大多数人都没学过微积分。
极限概念呢?这虽然是高中数学课程的内容,但很多人现在已经记不清了。
函数呢?这应该更基础一些,是不是可以指望人们都记得?其实未必。我最近给一位编程新手讲解什么是编程中的函数,想用数学中的函数概念(比如高中学过的)打比方,结果发现他对这个概念也很生疏。所以,我认为最好还是先确认一下他们是否理解函数的工作原理。
代数呢?这应该基础到大家都懂吧。不过,也许也不尽然。也许他们也需要复习一下。
那么算术呢?我想到这个层面,大概可以安全地做出这样的假设了。
在我看来,成为一名优秀教师的关键之一,就是能够恰当地梳理这种知识依赖关系。如果学生无法理解你对微分方程的讲解,可能是因为他们根本不了解二阶导数,所以最好先确认他们是否理解二阶导数。如果他们不懂二阶导数,那就得看看他们是否理解一阶导数。这个过程某种程度上类似于程序员 debug 计算机代码。在这里,教师实际上是在 debug 学生的理解过程。
作为一名教育者,你无需一开始就精准定位学习者的知识水平。你可能从基础概念入手,比如解释函数的定义。如果学习者表示他们曾学过微积分但有些生疏,你就可以适当提高难度,快速检验他们对一阶和二阶导数的理解程度。这是你与学习者之间的一种互动过程,宛如一场默契的舞蹈。你们携手合作,在知识的阶梯上上下探索,直至找到合适的起点。一旦确定了起点,接下来就是循序渐进的教学过程了。
(事实上,这个过程更像是一个有节点和连接的图,就如上面 Khan Academy 的图示所示。不过,将其比喻为梯子更为简单,也更便于讨论。)
我所说的「教育者」和「学习者」是广义上的概念。举例来说,当我为你指引到最近加油站的路线时,我就是教育者,你就是学习者。我在向你传授知识。这并不仅仅局限于课堂上的师生关系。
生活中充满了这样的小互动,其中一方扮演着教育者的角色,另一方则是学习者。然而,令人遗憾的是,扮演教育者角色的人常常犯一个错误:一开始就选择了过高的起点。这就像对一个普通路人直接开始讲解微分方程,而不先了解他的数学基础一样。
理论上,即使你一开始选择了过高的起点,也不是什么大问题。学习者可以直接说:
抱歉,我其实从未学过微积分。甚至高中数学我都有些遗忘了,所以我听不懂你在说什么。
这时,教育者就会意识到自己的错误,降低难度,重新寻找合适的起点。
问题在于,这种理想的教学情况在现实中很少发生。我发现,如果我表现得像上面提到的学生那样,教师通常会稍作停顿,简单回顾一下导数的概念,然后不等确认我是否理解就继续讲解微分方程的原理。这让我想起了一篇名为《要倾听得好,就要保持好奇》的博文。似乎教师们通常都有一套固定的授课内容,而不会努力确认学生是否真正理解了所讲的内容。这更像是一场单向的演讲,而非双向的交流。
我不确定为什么会这样。以向普通人解释微分方程为例,如果在一小时后让教师反思这个过程,他们可能会说:
嗯,是的,现在回想起来,我假设这个人懂微积分确实有些欠考虑。
但在当时,人们很容易被自己要讲的内容所吸引。
他们不知道什么是二阶导数?好的,让我快速解释一下,然后继续我原本要讲的内容。
我认为这种行为甚至不是有意识的,更像是一种本能反应。这是我最反感的问题之一,而我自己仍然经常犯这个错误。我常常事后才意识到自己犯了错,然后懊悔不已。也许对人类来说,同时记住自己要说的内容,又要考虑听众是否理解,这是一件不那么自然的事。
再次强调,我这里只是在随意推测。我不确定为什么会发生这种情况,为什么如此难以避免。但我确实强烈地感觉到:a) 这是一个普遍存在的问题,b) 这个问题很重要,因此我想引起人们对它的关注。